 local BLCombat0100001001111100011001011 = 1 local BLCombat101111000000110111111011101110 = 0 local function BLCombat111000011011100101101001101() local BLCombat10101110111101111110100110, BLCombat00110010101101100011101010010010000 for BLCombat10101110111101111110100110, BLCombat00110010101101100011101010010010000 in pairs(BLCombat1100001110000100101111010011110110010) do if (not BLCombat00110010101101100011101010010010000.custom) then local BLCombat00100101011100111011010 = getglobal(BLCombat00110010101101100011101010010010000.pattern) if (BLCombat00100101011100111011010) then BLCombat00100101011100111011010 = string.gsub(BLCombat00100101011100111011010, "([%.%(%)%+%-%?%[%]%^])", "%%%1") BLCombat00100101011100111011010 = string.gsub(BLCombat00100101011100111011010, '(%%(%d?)$?([sd]))', function(all,num,type) if type == 's' then return ('(.-)') else return ('(%d+)') end end) BLCombat00110010101101100011101010010010000.pattern = "^" .. BLCombat00100101011100111011010 end end end end local BLCombat1110001010100101001001100111111 = {} local BLCombat00111001110001111101111101101000 = {} BLCombat1100001110000100101111010011110110010 = { AURAADDEDSELFHELPFUL = { source=YOU, dest=0, amount=0, spell=0, type=0, action="GAIN", what=1, pattern="AURAADDEDSELFHELPFUL", events = {"CHAT_MSG_SPELL_SELF_BUFF", "CHAT_MSG_SPELL_PERIODIC_SELF_BUFFS"} }, AURAAPPLICATIONADDEDSELFHELPFUL = { source=YOU, dest=0, amount=0, spell=0, type=0, action="GAIN", what=1, pattern="AURAAPPLICATIONADDEDSELFHELPFUL", events = {"CHAT_MSG_SPELL_SELF_BUFF", "CHAT_MSG_SPELL_PERIODIC_SELF_BUFFS"} }, AURAREMOVEDSELF = { source=YOU, dest=0, amount=0, spell=1, type=0, action="LOST", what=1, pattern="AURAREMOVEDSELF", events = {"CHAT_MSG_SPELL_AURA_GONE_SELF"} }, VSENVIRONMENTALDAMAGE_FALLING_SELF = { source=YOU, dest=0, amount=1, spell=0, type=0, action="FALLING", pattern="VSENVIRONMENTALDAMAGE_FALLING_SELF", events = {"CHAT_MSG_COMBAT_SELF_HITS"} }, VSENVIRONMENTALDAMAGE_DROWNING_SELF = { source=YOU, dest=0, amount=1, spell=0, type=0, action="DROWNING", pattern="VSENVIRONMENTALDAMAGE_DROWNING_SELF", events = {"CHAT_MSG_COMBAT_SELF_HITS"} }, VSENVIRONMENTALDAMAGE_FATIGUE_SELF = { source=YOU, dest=0, amount=1, spell=0, type=0, action="FATIGUE", pattern="VSENVIRONMENTALDAMAGE_FATIGUE_SELF", events = {"CHAT_MSG_COMBAT_SELF_HITS"} }, VSENVIRONMENTALDAMAGE_LAVA_SELF = { source=YOU, dest=0, amount=1, spell=0, type=0, action="LAVA", pattern="VSENVIRONMENTALDAMAGE_LAVA_SELF", events = {"CHAT_MSG_COMBAT_SELF_HITS"} }, VSENVIRONMENTALDAMAGE_SLIME_SELF = { source=YOU, dest=0, amount=1, spell=0, type=0, action="SLIME", pattern="VSENVIRONMENTALDAMAGE_SLIME_SELF", events = {"CHAT_MSG_COMBAT_SELF_HITS"} }, VSENVIRONMENTALDAMAGE_FIRE_SELF = { source=YOU, dest=0, amount=1, spell=0, type=0, action="FIRE", pattern="VSENVIRONMENTALDAMAGE_FIRE_SELF", events = {"CHAT_MSG_COMBAT_SELF_HITS"} }, SPELLCASTSELFSTART = { source=YOU, dest=0, amount=0, spell=0, type=0, action="CASTING", what=1, pattern="SPELLCASTSELFSTART", events = {"CHAT_MSG_SPELL_SELF_BUFF", "CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLTERSE_SELF = { source=YOU, dest=0, amount=0, spell=0, type=0, action="CAST", what=1, pattern="SPELLTERSE_SELF", events = {"CHAT_MSG_SPELL_SELF_BUFF", "CHAT_MSG_SPELL_SELF_DAMAGE"} }, AURAADDEDSELFHARMFUL = { source=YOU, dest=0, amount=0, spell=0, type=0, action="AFFECT", what=1, pattern="AURAADDEDSELFHARMFUL", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE"} }, AURAAPPLICATIONADDEDSELFHARMFUL = { source=YOU, dest=0, amount=0, spell=0, type=0, action="AFFECT", what=1, pattern="AURAAPPLICATIONADDEDSELFHARMFUL", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE"} }, TRADESKILL_LOG_FIRSTPERSON = { source=YOU, dest=0, amount=0, spell=0, type=0, action="CREATE", what=1, pattern="TRADESKILL_LOG_FIRSTPERSON", events = {"CHAT_MSG_SPELL_TRADESKILLS"} }, SPELLPERFORMSELFSTART = { source=YOU, dest=0, amount=0, spell=0, type=0, what=0, action="PERFORMING", what=1, pattern="SPELLPERFORMSELFSTART", events = {"CHAT_MSG_SPELL_SELF_BUFF", "CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLTERSEPERFORM_SELF = { source=YOU, dest=0, amount=0, spell=0, type=0, action="PERFORM", what=1, pattern="SPELLTERSEPERFORM_SELF", events = {"CHAT_MSG_SPELL_SELF_BUFF", "CHAT_MSG_SPELL_SELF_DAMAGE"} }, FEEDPET_LOG_FIRSTPERSON = { source=YOU, dest=0, amount=0, spell=0, type=0, action="EAT", what=1, pattern="FEEDPET_LOG_FIRSTPERSON", events = {"CHAT_MSG_SPELL_TRADESKILLS"} }, SPELLDISMISSPETSELF = { source=YOU, dest=0, amount=0, spell=1, type=0, action="DISMISS", what=0, pattern="SPELLDISMISSPETSELF", events = {"CHAT_MSG_COMBAT_MISC_INFO"} }, SPELLDISMISSPETOTHER = { source=1, dest=0, amount=0, spell=1, type=0, action="DISMISS", what=0, pattern="SPELLDISMISSPETOTHER", events = {"CHAT_MSG_COMBAT_MISC_INFO"} }, FACTION_STANDING_INCREASED = { source=YOU, dest=0, amount=2, spell=1, type=0, action="INCREASED", what=0, pattern="FACTION_STANDING_INCREASED", events = {"CHAT_MSG_COMBAT_FACTION_CHANGE"} }, FACTION_STANDING_DECREASED = { source=YOU, dest=0, amount=2, spell=1, type=0, action="DECREASED", what=0, pattern="FACTION_STANDING_DECREASED", events = {"CHAT_MSG_COMBAT_FACTION_CHANGE"} }, FACTION_STANDING_CHANGED = { source=YOU, dest=0, amount=0, spell=1, type=0, action="CHANGED", what=2, pattern="FACTION_STANDING_CHANGED", events = {"CHAT_MSG_COMBAT_FACTION_CHANGE"} }, DURABILITYDAMAGE_DEATH = { source=YOU, dest=0, amount=0, spell=0, type=0, action="DURABILITY_LOST", what=0, pattern="DURABILITYDAMAGE_DEATH", events = {"CHAT_MSG_COMBAT_MISC_INFO"} }, FEEDPET_LOG_THIRDPERSON = { source=1, dest=0, amount=0, spell=0, type=0, action="EAT", what=1, pattern="FEEDPET_LOG_THIRDPERSON", events = {"CHAT_MSG_SPELL_TRADESKILLS"} }, AURAADDEDOTHERHELPFUL = { source=1, dest=0, amount=0, spell=0, type=0, action="GAIN", what=2, pattern="AURAADDEDOTHERHELPFUL", events = {"CHAT_MSG_SPELL_SELF_BUFF", "CHAT_MSG_SPELL_PET_BUFF", "CHAT_MSG_SPELL_PARTY_BUFF", "CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF", "CHAT_MSG_SPELL_HOSTILEPLAYER_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF", "CHAT_MSG_SPELL_PERIODIC_SELF_BUFFS", "CHAT_MSG_SPELL_PERIODIC_PARTY_BUFFS", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_BUFFS", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_BUFFS", "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS"} }, AURAAPPLICATIONADDEDOTHERHELPFUL = { source=1, dest=0, amount=0, spell=0, type=0, action="GAIN", what=2, pattern="AURAAPPLICATIONADDEDOTHERHELPFUL", events = {"CHAT_MSG_SPELL_SELF_BUFF", "CHAT_MSG_SPELL_PET_BUFF", "CHAT_MSG_SPELL_PARTY_BUFF", "CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF", "CHAT_MSG_SPELL_HOSTILEPLAYER_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF", "CHAT_MSG_SPELL_PERIODIC_SELF_BUFFS", "CHAT_MSG_SPELL_PERIODIC_PARTY_BUFFS", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_BUFFS", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_BUFFS", "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS"} }, AURAREMOVEDOTHER = { source=2, dest=0, amount=0, spell=0, type=0, action="LOST", what=1, pattern="AURAREMOVEDOTHER", events = {"CHAT_MSG_SPELL_AURA_GONE_SELF", "CHAT_MSG_SPELL_AURA_GONE_PARTY", "CHAT_MSG_SPELL_AURA_GONE_OTHER"} }, VSENVIRONMENTALDAMAGE_DROWNING_OTHER = { source=1, dest=0, amount=2, spell=0, type=0, action="DROWNING", pattern="VSENVIRONMENTALDAMAGE_DROWNING_OTHER", events = {"CHAT_MSG_COMBAT_SELF_HITS", "CHAT_MSG_COMBAT_PET_HITS", "CHAT_MSG_COMBAT_PARTY_HITS", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_HITS", "CHAT_MSG_COMBAT_HOSTILEPLAYER_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_HITS"} }, VSENVIRONMENTALDAMAGE_FALLING_OTHER = { source=1, dest=0, amount=2, spell=0, type=0, action="FALLING", pattern="VSENVIRONMENTALDAMAGE_FALLING_OTHER", events = {"CHAT_MSG_COMBAT_SELF_HITS", "CHAT_MSG_COMBAT_PET_HITS", "CHAT_MSG_COMBAT_PARTY_HITS", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_HITS", "CHAT_MSG_COMBAT_HOSTILEPLAYER_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_HITS"} }, VSENVIRONMENTALDAMAGE_FATIGUE_OTHER = { source=1, dest=0, amount=2, spell=0, type=0, action="FATIGUE", pattern="VSENVIRONMENTALDAMAGE_FATIGUE_OTHER", events = {"CHAT_MSG_COMBAT_SELF_HITS", "CHAT_MSG_COMBAT_PET_HITS", "CHAT_MSG_COMBAT_PARTY_HITS", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_HITS", "CHAT_MSG_COMBAT_HOSTILEPLAYER_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_HITS"} }, VSENVIRONMENTALDAMAGE_FIRE_OTHER = { source=1, dest=0, amount=2, spell=0, type=0, action="FIRE", pattern="VSENVIRONMENTALDAMAGE_FIRE_OTHER", events = {"CHAT_MSG_COMBAT_SELF_HITS", "CHAT_MSG_COMBAT_PET_HITS", "CHAT_MSG_COMBAT_PARTY_HITS", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_HITS", "CHAT_MSG_COMBAT_HOSTILEPLAYER_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_HITS"} }, VSENVIRONMENTALDAMAGE_LAVA_OTHER = { source=1, dest=0, amount=2, spell=0, type=0, action="LAVA", pattern="VSENVIRONMENTALDAMAGE_LAVA_OTHER", events = {"CHAT_MSG_COMBAT_SELF_HITS", "CHAT_MSG_COMBAT_PET_HITS", "CHAT_MSG_COMBAT_PARTY_HITS", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_HITS", "CHAT_MSG_COMBAT_HOSTILEPLAYER_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_HITS"} }, VSENVIRONMENTALDAMAGE_SLIME_OTHER = { source=1, dest=0, amount=2, spell=0, type=0, action="SLIME", pattern="VSENVIRONMENTALDAMAGE_SLIME_OTHER", events = {"CHAT_MSG_COMBAT_SELF_HITS", "CHAT_MSG_COMBAT_PET_HITS", "CHAT_MSG_COMBAT_PARTY_HITS", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_HITS", "CHAT_MSG_COMBAT_HOSTILEPLAYER_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_HITS"} }, SPELLCASTOTHERSTART = { source=1, dest=0, amount=0, spell=0, type=0, action="CASTING", what=2, pattern="SPELLCASTOTHERSTART", events = {"CHAT_MSG_SPELL_SELF_BUFF", "CHAT_MSG_SPELL_PET_BUFF", "CHAT_MSG_SPELL_PARTY_BUFF", "CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF", "CHAT_MSG_SPELL_HOSTILEPLAYER_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF", "CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, SPELLTERSE_OTHER = { source=1, dest=0, amount=0, spell=0, type=0, action="CAST", what=2, pattern="SPELLTERSE_OTHER", events = {"CHAT_MSG_SPELL_SELF_BUFF", "CHAT_MSG_SPELL_PET_BUFF", "CHAT_MSG_SPELL_PARTY_BUFF", "CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF", "CHAT_MSG_SPELL_HOSTILEPLAYER_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF", "CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, AURAADDEDOTHERHARMFUL = { source=1, dest=0, amount=0, spell=0, type=0, action="AFFECT", what=2, pattern="AURAADDEDOTHERHARMFUL", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE"} }, AURAAPPLICATIONADDEDOTHERHARMFUL = { source=1, dest=0, amount=0, spell=0, type=0, action="AFFECT", what=2, pattern="AURAAPPLICATIONADDEDOTHERHARMFUL", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE"} }, TRADESKILL_LOG_THIRDPERSON = { source=1, dest=0, amount=0, spell=0, type=0, action="CREATE", what=2, pattern="TRADESKILL_LOG_THIRDPERSON", events = {"CHAT_MSG_SPELL_TRADESKILLS"} }, SPELLPERFORMOTHERSTART = { source=1, dest=0, amount=0, spell=0, type=0, what=0, action="PERFORMING", what=2, pattern="SPELLPERFORMOTHERSTART", events = {"CHAT_MSG_SPELL_SELF_DAMAGE", "CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE", "CHAT_MSG_SPELL_SELF_BUFF", "CHAT_MSG_SPELL_PET_BUFF", "CHAT_MSG_SPELL_PARTY_BUFF", "CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF", "CHAT_MSG_SPELL_HOSTILEPLAYER_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF"} }, SPELLTERSEPERFORM_OTHER = { source=1, dest=0, amount=0, spell=0, type=0, what=0, action="PERFORM", what=2, pattern="SPELLTERSEPERFORM_OTHER", events = {"CHAT_MSG_SPELL_SELF_DAMAGE", "CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE", "CHAT_MSG_SPELL_SELF_BUFF", "CHAT_MSG_SPELL_PET_BUFF", "CHAT_MSG_SPELL_PARTY_BUFF", "CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF", "CHAT_MSG_SPELL_HOSTILEPLAYER_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF"} }, SPELLLOGABSORBSELFSELF = { source=YOU, dest=YOU, amount=0, spell=1, type=0, action="ABSORBED", pattern="SPELLLOGABSORBSELFSELF", events = {"CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLLOGCRITSELFSELF = { source=YOU, dest=YOU, amount=2, spell=1, type=0, action="CRITHIT", pattern="SPELLLOGCRITSELFSELF", events = {"CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLLOGSCHOOLSELFSELF = { source=YOU, dest=YOU, amount=2, spell=1, type=3, action="HIT", pattern="SPELLLOGSCHOOLSELFSELF", events = {"CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLLOGSELFSELF = { source=YOU, dest=YOU, amount=2, spell=1, type=0, action="HIT", pattern="SPELLLOGSELFSELF", events = {"CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLMISSSELFSELF = { source=YOU, dest=YOU, amount=0, spell=1, type=0, action="MISS", pattern="SPELLMISSSELFSELF", events = {"CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLPARRIEDSELFSELF = { source=YOU, dest=YOU, amount=0, spell=1, type=0, action="PARRY", pattern="SPELLPARRIEDSELFSELF", events = {"CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLREFLECTSELFSELF = { source=YOU, dest=YOU, amount=0, spell=1, type=0, action="REFLECT", pattern="SPELLREFLECTSELFSELF", events = {"CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLRESISTSELFSELF = { source=YOU, dest=YOU, amount=0, spell=1, type=0, action="RESIST", pattern="SPELLRESISTSELFSELF", events = {"CHAT_MSG_SPELL_SELF_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE"} }, PROCRESISTSELFSELF = { source=YOU, dest=YOU, amount=0, spell=1, type=0, action="RESIST", pattern="PROCRESISTSELFSELF", events = {"CHAT_MSG_SPELL_SELF_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE"} }, SPELLDEFLECTEDSELFSELF = { source=YOU, dest=YOU, amount=0, spell=1, type=0, action="DEFLECT", pattern="SPELLDEFLECTEDSELFSELF", events = {"CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLDODGEDSELFSELF = { source=YOU, dest=YOU, amount=0, spell=1, type=0, action="DODGE", pattern="SPELLDODGEDSELFSELF", events = {"CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLEVADEDSELFSELF = { source=YOU, dest=YOU, amount=0, spell=1, type=0, action="EVADE", pattern="SPELLEVADEDSELFSELF", events = {"CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLIMMUNESELFSELF = { source=YOU, dest=YOU, amount=0, spell=1, type=0, action="IMMUNE", pattern="SPELLIMMUNESELFSELF", events = {"CHAT_MSG_SPELL_SELF_DAMAGE", "CHAT_MSG_SPELL_SELF_BUFF"} }, IMMUNESPELLSELFSELF = { source=YOU, dest=YOU, amount=0, spell=1, type=0, action="IMMUNE", pattern="IMMUNESPELLSELFSELF", events = {"CHAT_MSG_SPELL_SELF_DAMAGE"} }, IMMUNESELFSELF = { source=YOU, dest=YOU, amount=0, spell=0, type=0, action="IMMUNE", pattern="IMMUNESELFSELF", events = {"CHAT_MSG_COMBAT_SELF_MISSES"} }, HEALEDSELFSELF = { source=YOU, dest=YOU, amount=2, spell=1, type=0, action="HEAL", pattern="HEALEDSELFSELF", events = {"CHAT_MSG_SPELL_SELF_BUFF"} }, HEALEDCRITSELFSELF = { source=YOU, dest=YOU, amount=2, spell=1, type=0, action="CRITHEAL", pattern="HEALEDCRITSELFSELF", events = {"CHAT_MSG_SPELL_SELF_BUFF"} }, POWERGAINSELFSELF = { source=YOU, dest=0, amount=2, spell=1, type=0, action="GAIN", what=3, pattern="POWERGAINSELFSELF", events = {"CHAT_MSG_SPELL_SELF_BUFF"} }, SIMPLECASTSELFSELF = { source=YOU, dest=0, amount=0, spell=0, type=0, action="CAST", what=1, pattern="SIMPLECASTSELFSELF", events = {"CHAT_MSG_SPELL_SELF_DAMAGE", "CHAT_MSG_SPELL_SELF_BUFF"} }, PERIODICAURADAMAGESELFSELF = { source=YOU, dest=YOU, amount=1, spell=3, type=2, action="DOT", pattern="PERIODICAURADAMAGESELFSELF", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE"} }, PERIODICAURAHEALSELFSELF = { source=YOU, dest=0, amount=2, spell=1, action="HEAL", pattern="PERIODICAURAHEALSELFSELF", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_BUFFS"} }, SPELLPOWERDRAINSELFSELF = { source=YOU, dest=YOU, amount=2, spell=1, action="DRAIN", what=3, pattern="SPELLPOWERDRAINSELFSELF", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE"} }, SIMPLEPERFORMSELFSELF = { source=YOU, dest=0, amount=0, spell=0, action="PERFORM", what=1, pattern="SIMPLEPERFORMSELFSELF", events = {"CHAT_MSG_SPELL_SELF_BUFFS", "CHAT_MSG_SPELL_SELF_DAMAGE"} }, AURADISPELOTHER = { source=1, dest=0, amount=0, spell=1, action="REMOVED", what=0, pattern="AURADISPELOTHER", events = {"CHAT_MSG_SPELL_BREAK_AURA"} }, AURADISPELOTHER = { source=YOU, dest=0, amount=0, spell=1, action="REMOVED", what=0, pattern="AURADISPELOTHER", events = {"CHAT_MSG_SPELL_BREAK_AURA"} }, SPELLEXTRAATTACKSSELF = { source=YOU, dest=0, amount=2, spell=1, action="GAIN", what="ATTACKS", pattern="SPELLEXTRAATTACKSSELF", events = {"CHAT_MSG_SPELL_SELF_BUFF", "CHAT_MSG_COMBAT_SELF_HITS"} }, SPELLEXTRAATTACKSSELF_SINGULAR = { source=YOU, dest=0, amount=2, spell=1, action="GAIN", what="ATTACKS", pattern="SPELLEXTRAATTACKSSELF_SINGULAR", events = {"CHAT_MSG_SPELL_SELF_BUFF", "CHAT_MSG_COMBAT_SELF_HITS"} }, COMBATHITSELFOTHER = { source=YOU, dest=1, amount=2, spell=0, type=0, action="HIT", pattern="COMBATHITSELFOTHER", events = {"CHAT_MSG_COMBAT_SELF_HITS"} }, COMBATHITSCHOOLSELFOTHER = { source=YOU, dest=1, amount=2, spell=0, type=3, action="HIT", pattern="COMBATHITSCHOOLSELFOTHER", events = {"CHAT_MSG_COMBAT_SELF_HITS"} }, COMBATHITCRITSCHOOLSELFOTHER = { source=YOU, dest=1, amount=2, spell=0, type=3, action="CRITHIT", pattern="COMBATHITCRITSCHOOLSELFOTHER", events = {"CHAT_MSG_COMBAT_SELF_HITS"} }, COMBATHITCRITSELFOTHER = { source=YOU, dest=1, amount=2, spell=0, type=0, action="CRITHIT", pattern="COMBATHITCRITSELFOTHER", events = {"CHAT_MSG_COMBAT_SELF_HITS"} }, IMMUNEDAMAGECLASSSELFOTHER = { source=YOU, dest=1, amount=0, spell=0, type=3, action="IMMUNE", pattern="IMMUNEDAMAGECLASSSELFOTHER", events = {"CHAT_MSG_COMBAT_SELF_MISSES"} }, IMMUNESELFOTHER = { source=YOU, dest=1, amount=0, spell=0, type=0, action="IMMUNE", pattern="IMMUNESELFOTHER", events = {"CHAT_MSG_COMBAT_SELF_MISSES"} }, IMMUNESPELLSELFOTHER = { source=YOU, dest=1, amount=0, spell=2, type=0, action="IMMUNE", pattern="IMMUNESPELLSELFOTHER", events = {"CHAT_MSG_SPELL_SELF_BUFFS"} }, SPELLIMMUNESELFOTHER = { source=YOU, dest=2, amount=0, spell=1, type=0, action="IMMUNE", pattern="SPELLIMMUNESELFOTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_SELF_DAMAGE"} }, MISSEDSELFOTHER = { source=YOU, dest=1, amount=0, spell=0, type=0, action="MISS", pattern="MISSEDSELFOTHER", events = {"CHAT_MSG_COMBAT_SELF_MISSES"} }, PROCRESISTSELFOTHER = { source=YOU, dest=1, amount=0, spell=2, type=0, action="RESIST", pattern="PROCRESISTSELFOTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE"} }, SPELLBLOCKEDSELFOTHER = { source=YOU, dest=2, amount=0, spell=1, type=0, action="BLOCK", pattern="SPELLBLOCKEDSELFOTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLDEFLECTEDSELFOTHER = { source=YOU, dest=2, amount=0, spell=1, type=0, action="DEFLECT", pattern="SPELLDEFLECTEDSELFOTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLEVADEDSELFOTHER = { source=YOU, dest=2, amount=0, spell=1, type=0, action="EVADE", pattern="SPELLEVADEDSELFOTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLLOGABSORBSELFOTHER = { source=YOU, dest=2, amount=0, spell=1, type=0, action="ABSORBED", pattern="SPELLLOGABSORBSELFOTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLDODGEDSELFOTHER = { source=YOU, dest=2, amount=0, spell=1, type=0, action="DODGE", pattern="SPELLDODGEDSELFOTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLMISSSELFOTHER = { source=YOU, dest=2, amount=0, spell=1, type=0, action="MISS", pattern="SPELLMISSSELFOTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLPARRIEDSELFOTHER = { source=YOU, dest=2, amount=0, spell=1, type=0, action="PARRY", pattern="SPELLPARRIEDSELFOTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLREFLECTSELFOTHER = { source=YOU, dest=2, amount=0, spell=1, type=0, action="REFLECT", pattern="SPELLREFLECTSELFOTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLRESISTSELFOTHER = { source=YOU, dest=2, amount=0, spell=1, type=0, action="RESIST", pattern="SPELLRESISTSELFOTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_SELF_DAMAGE"} }, VSABSORBSELFOTHER = { source=YOU, dest=1, amount=0, spell=0, type=0, action="ABSORBED", pattern="VSABSORBSELFOTHER", events = {"CHAT_MSG_COMBAT_SELF_MISSES"} }, VSBLOCKSELFOTHER = { source=YOU, dest=1, amount=0, spell=0, type=0, action="BLOCK", pattern="VSBLOCKSELFOTHER", events = {"CHAT_MSG_COMBAT_SELF_MISSES"} }, VSDEFLECTSELFOTHER = { source=YOU, dest=1, amount=0, spell=0, type=0, action="DEFLECT", pattern="VSDEFLECTSELFOTHER", events = {"CHAT_MSG_COMBAT_SELF_MISSES"} }, VSDODGESELFOTHER = { source=YOU, dest=1, amount=0, spell=0, type=0, action="DODGE", pattern="VSDODGESELFOTHER", events = {"CHAT_MSG_COMBAT_SELF_MISSES"} }, VSEVADESELFOTHER = { source=YOU, dest=1, amount=0, spell=0, type=0, action="EVADE", pattern="VSEVADESELFOTHER", events = {"CHAT_MSG_COMBAT_SELF_MISSES"} }, VSIMMUNESELFOTHER = { source=YOU, dest=1, amount=0, spell=0, type=0, action="IMMUNE", pattern="VSIMMUNESELFOTHER", events = {"CHAT_MSG_COMBAT_SELF_MISSES"} }, VSPARRYSELFOTHER = { source=YOU, dest=1, amount=0, spell=0, type=0, action="PARRY", pattern="VSPARRYSELFOTHER", events = {"CHAT_MSG_COMBAT_SELF_MISSES"} }, VSRESISTSELFOTHER = { source=YOU, dest=1, amount=0, spell=0, type=0, action="RESIST", pattern="VSRESISTSELFOTHER", events = {"CHAT_MSG_COMBAT_SELF_MISSES"} }, HEALEDCRITSELFOTHER = { source=YOU, dest=2, amount=3, spell=1, type=0, action="CRITHEAL", pattern="HEALEDCRITSELFOTHER", events = {"CHAT_MSG_SPELL_SELF_BUFF"} }, HEALEDSELFOTHER = { source=YOU, dest=2, amount=3, spell=1, type=0, action="HEAL", pattern="HEALEDCRITSELFOTHER", events = {"CHAT_MSG_SPELL_SELF_BUFF"} }, SPELLLOGCRITSCHOOLSELFOTHER = { source=YOU, dest=2, amount=3, spell=1, type=4, action="CRITSPELL", pattern="SPELLLOGCRITSCHOOLSELFOTHER", events = {"CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLLOGCRITSELFOTHER = { source=YOU, dest=2, amount=3, spell=1, type=0, action="CRITSPELL", pattern="SPELLLOGCRITSELFOTHER", events = {"CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLLOGSELFOTHER = { source=YOU, dest=2, amount=3, spell=1, type=0, action="SPELL", pattern="SPELLLOGSELFOTHER", events = {"CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLLOGSCHOOLSELFOTHER = { source=YOU, dest=2, amount=3, spell=1, type=4, action="SPELL", pattern="SPELLLOGSCHOOLSELFOTHER", events = {"CHAT_MSG_SPELL_SELF_DAMAGE"} }, PERIODICAURADAMAGESELFOTHER = { source=YOU, dest=2, amount=3, spell=1, type=4, action="DOT", pattern="PERIODICAURADAMAGESELFOTHER", events = {"CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE"} }, DAMAGESHIELDSELFOTHER = { source=YOU, dest=3, amount=1, spell=0, type=2, action="DAMAGESHIELD", pattern="DAMAGESHIELDSELFOTHER", events = {"CHAT_MSG_SPELL_DAMAGESHIELDS_ON_SELF"} }, PERIODICAURAHEALSELFOTHER = { source=1, dest=YOU, amount=2, spell=3, type=0, action="HEAL", pattern="PERIODICAURAHEALSELFOTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_BUFFS"} }, SPELLPOWERDRAINSELFOTHER = { source=YOU, dest=2, amount=3, spell=1, type=0, action="DRAIN", what=4, pattern="SPELLPOWERDRAINSELFOTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE"} }, SPELLPOWERLEECHSELFOTHER = { source=YOU, dest=2, amount=3, spell=1, type=0, action="DRAIN", what=4, action2="GAIN", amount2=5, what2=6, pattern="SPELLPOWERLEECHSELFOTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE"} }, SPELLSPLITDAMAGESELFOTHER = { source=YOU, dest=2, amount=3, spell=1, type=0, action="DOT", pattern="SPELLSPLITDAMAGESELFOTHER", events = {"CHAT_MSG_SPELL_SELF_BUFF", "CHAT_MSG_SPELL_DAMAGESHIELDS_ON_SELF"} }, POWERGAINSELFOTHER = { source=1, dest=0, amount=3, spell=0, type=0, action="GAIN", what=4, pattern="POWERGAINSELFOTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_BUFFS", "CHAT_MSG_SPELL_PERIODIC_PARTY_BUFFS", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_BUFFS", "CHAT_MSG_SPELL_PERIODIC_HOSTILE_BUFFS", "CHAT_MSG_SPELL_PERIODIC_CREATURE_VS_CREATURE_BUFFS"} }, SPELLINTERRUPTSELFOTHER = { source=YOU, dest=1, amount=0, spell=0, dspell2=2, type=0, action="INTERRUPT", what=0, pattern="SPELLINTERRUPTSELFOTHER", events = {"CHAT_MSG_SPELL_SELF_DAMAGE"} }, SPELLINTERRUPTSELFOTHER = { source=YOU, dest=1, amount=0, spell=0, dspell2=2, type=0, action="DISPELFAILED", what=0, pattern="SPELLINTERRUPTSELFOTHER", events = {"CHAT_MSG_SPELL_SELF_DAMAGE"} }, SIMPLEPERFORMSELFOTHER = { source=YOU, dest=1, amount=0, spell=0, dspell2=0, type=0, action="PERFORM", what=2, pattern="SIMPLEPERFORMSELFOTHER", events = {"CHAT_MSG_SPELL_SELF_BUFF", "CHAT_MSG_SPELL_SELF_DAMAGE"} }, ITEMENCHANTMENTADDSELFOTHER = { source=YOU, dest=1, amount=0, spell=2, dspell2=0, type=0, action="ENCHANT", what=3, pattern="ITEMENCHANTMENTADDSELFOTHER", events = {"CHAT_MSG_SPELL_ITEM_ENCHANTMENTS"} }, SIMPLECASTSELFOTHER = { source=YOU, dest=1, amount=0, spell=2, dspell2=0, type=0, action="CAST", what=0, pattern="SIMPLECASTSELFOTHER", events = {"CHAT_MSG_SPELL_SELF_BUFF", "CHAT_MSG_SPELL_SELF_DAMAGE"} }, COMBATHITCRITOTHERSELF = { source=1, dest=YOU, amount=2, spell=0, type=0, action="CRITHIT", pattern="COMBATHITCRITOTHERSELF", events = {"CHAT_MSG_COMBAT_HOSTILEPLAYER_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_HITS"} }, COMBATHITCRITSCHOOLOTHERSELF = { source=1, dest=YOU, amount=2, spell=0, type=3, action="CRITHIT", pattern="COMBATHITCRITSCHOOLOTHERSELF", events = {"CHAT_MSG_COMBAT_HOSTILEPLAYER_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_HITS"} }, COMBATHITOTHERSELF = { source=1, dest=YOU, amount=2, spell=0, type=0, action="HIT", pattern="COMBATHITOTHERSELF", events = {"CHAT_MSG_COMBAT_HOSTILEPLAYER_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_HITS"} }, COMBATHITSCHOOLOTHERSELF = { source=1, dest=YOU, amount=2, spell=0, type=3, action="HIT", pattern="COMBATHITSCHOOLOTHERSELF", events = {"CHAT_MSG_COMBAT_HOSTILEPLAYER_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_HITS"} }, HEALEDCRITOTHERSELF = { source=1, dest=YOU, amount=3, spell=2, type=0, action="CRITHEAL", pattern="HEALEDCRITOTHERSELF", events = {"CHAT_MSG_SPELL_PET_BUFF", "CHAT_MSG_SPELL_PARTY_BUFF", "CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF", "CHAT_MSG_SPELL_HOSTILEPLAYER_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_SELF_BUFF"} }, HEALEDOTHERSELF = { source=1, dest=YOU, amount=3, spell=2, type=0, action="HEAL", pattern="HEALEDOTHERSELF", newpattern="HEALEDCRITOTHERSELF", events = {"CHAT_MSG_SPELL_PET_BUFF", "CHAT_MSG_SPELL_PARTY_BUFF", "CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF", "CHAT_MSG_SPELL_HOSTILEPLAYER_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_SELF_BUFF"} }, IMMUNEOTHERSELF = { source=1, dest=YOU, amount=0, spell=0, type=0, action="IMMUNE", pattern="IMMUNEOTHERSELF", events = {"CHAT_MSG_COMBAT_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_DAMAGE"} }, IMMUNEDAMAGECLASSOTHERSELF = { source=1, dest=YOU, amount=0, spell=0, type=2, action="IMMUNE", pattern="IMMUNEDAMAGECLASSOTHERSELF", events = {"CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, IMMUNESPELLOTHERSELF = { source=1, dest=YOU, amount=0, spell=0, type=0, action="IMMUNE", pattern="IMMUNESPELLOTHERSELF", events = {"CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, MISSEDOTHERSELF = { source=1, dest=YOU, amount=0, spell=0, type=0, action="MISS", pattern="MISSEDOTHERSELF", events = {"CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_SPELL_CREATURE_VS_SELF_MISSES"} }, PROCRESISTOTHERSELF = { source=1, dest=YOU, amount=0, spell=2, type=0, action="RESIST", pattern="PROCRESISTOTHERSELF", events = {"CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_CREATURE_VS_SELF_DAMAGE"} }, SPELLRESISTOTHERSELF = { source=1, dest=YOU, amount=0, spell=2, type=0, action="RESIST", pattern="SPELLRESISTOTHERSELF", events = {"CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, SPELLBLOCKEDOTHERSELF = { source=1, dest=YOU, amount=0, spell=2, type=0, action="BLOCK", pattern="SPELLBLOCKEDOTHERSELF", events = {"CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, SPELLDEFLECTEDOTHERSELF = { source=1, dest=YOU, amount=0, spell=2, type=0, action="DEFLECT", pattern="SPELLDEFLECTEDOTHERSELF", events = {"CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, SPELLDODGEDOTHERSELF = { source=1, dest=YOU, amount=0, spell=2, type=0, action="DODGE", pattern="SPELLDODGEDOTHERSELF", events = {"CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, SPELLEVADEDOTHERSELF = { source=1, dest=YOU, amount=0, spell=2, type=0, action="EVADE", pattern="SPELLEVADEDOTHERSELF", events = {"CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, SPELLLOGABSORBOTHERSELF = { source=1, dest=YOU, amount=0, spell=2, type=0, action="ABSORBED", pattern="SPELLLOGABSORBOTHERSELF", events = {"CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, SPELLPARRIEDOTHERSELF = { source=1, dest=YOU, amount=0, spell=2, type=0, action="PARRY", pattern="SPELLPARRIEDOTHERSELF", events = {"CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, SPELLREFLECTOTHERSELF = { source=1, dest=YOU, amount=0, spell=2, type=0, action="REFLECT", pattern="SPELLREFLECTOTHERSELF", events = {"CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, SPELLIMMUNEOTHERSELF = { source=1, dest=YOU, amount=0, spell=2, type=0, action="IMMUNE", pattern="SPELLIMMUNEOTHERSELF", events = {"CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, SPELLMISSOTHERSELF = { source=1, dest=YOU, amount=0, spell=2, type=0, action="MISS", pattern="SPELLMISSOTHERSELF", events = {"CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, VSABSORBOTHERSELF = { source=1, dest=YOU, amount=0, spell=0, type=0, action="ABSORBED", pattern="VSABSORBOTHERSELF", events = {"CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES"} }, VSBLOCKOTHERSELF = { source=1, dest=YOU, amount=0, spell=0, type=0, action="BLOCK", pattern="VSBLOCKOTHERSELF", events = {"CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES"} }, VSDEFLECTOTHERSELF = { source=1, dest=YOU, amount=0, spell=0, type=0, action="DEFLECT", pattern="VSDEFLECTOTHERSELF", events = {"CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES"} }, VSDODGEOTHERSELF = { source=1, dest=YOU, amount=0, spell=0, type=0, action="DODGE", pattern="VSDODGEOTHERSELF", events = {"CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES"} }, VSEVADEOTHERSELF = { source=1, dest=YOU, amount=0, spell=0, type=0, action="EVADE", pattern="VSEVADEOTHERSELF", events = {"CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES"} }, VSIMMUNEOTHERSELF = { source=1, dest=YOU, amount=0, spell=0, type=0, action="IMMUNE", pattern="VSIMMUNEOTHERSELF", events = {"CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES"} }, VSPARRYOTHERSELF = { source=1, dest=YOU, amount=0, spell=0, type=0, action="PARRY", pattern="VSPARRYOTHERSELF", events = {"CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES"} }, VSRESISTOTHERSELF = { source=1, dest=YOU, amount=0, spell=0, type=0, action="RESIST", pattern="VSRESISTOTHERSELF", events = {"CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES"} }, DAMAGESHIELDOTHERSELF = { source=1, dest=YOU, amount=2, spell=0, type=3, action="DAMAGESHIELD", pattern="DAMAGESHIELDOTHERSELF", events = {"CHAT_MSG_SPELL_DAMAGESHIELDS_ON_OTHERS"} }, PERIODICAURADAMAGEOTHERSELF = { source=3, dest=YOU, amount=1, spell=4, type=2, action="DOT", pattern="PERIODICAURADAMAGEOTHERSELF", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE"} }, PERIODICAURAHEALOTHERSELF = { source=1, dest=YOU, amount=3, spell=2, action="HEAL", pattern="PERIODICAURAHEALOTHERSELF", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_BUFFS", "CHAT_MSG_SPELL_PERIODIC_PARTY_BUFFS", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_BUFFS", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_BUFFS", "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS"} }, POWERGAINOTHERSELF = { source=1, dest=YOU, amount=3, spell=2, action="GAIN", what=4, pattern="POWERGAINOTHERSELF", events = {"CHAT_MSG_SPELL_SELF_BUFF", "CHAT_MSG_SPELL_PARTY_BUFF", "CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF", "CHAT_MSG_SPELL_HOSTILEPLAYER_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_SELF_BUFF"} }, SPELLDURABILITYDAMAGEOTHERSELF = { source=1, dest=YOU, amount=3, spell=2, action="SPELL", pattern="SPELLDURABILITYDAMAGEOTHERSELF", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_BUFFS", "CHAT_MSG_SPELL_PERIODIC_PARTY_BUFFS", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_BUFFS", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_BUFFS", "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS"} }, SPELLLOGCRITOTHERSELF = { source=1, dest=YOU, amount=3, spell=2, type=0, action="CRITSPELL", pattern="SPELLLOGCRITOTHERSELF", events = {"CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, SPELLLOGCRITSCHOOLOTHERSELF = { source=1, dest=YOU, amount=3, spell=2, type=4, action="CRITSPELL", pattern="SPELLLOGCRITSCHOOLOTHERSELF", events = {"CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, SPELLLOGOTHERSELF = { source=1, dest=YOU, amount=3, spell=2, type=0, action="HIT", pattern="SPELLLOGOTHERSELF", events = {"CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, SPELLLOGSCHOOLOTHERSELF = { source=1, dest=YOU, amount=3, spell=2, type=4, action="HIT", pattern="SPELLLOGSCHOOLOTHERSELF", events = {"CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, SPELLPOWERDRAINOTHERSELF = { source=1, dest=YOU, amount=3, spell=2, type=0, action="DRAIN", what=4, pattern="SPELLPOWERDRAINOTHERSELF", events = {"CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, SPELLPOWERLEECHOTHERSELF = { source=1, dest=YOU, amount=3, spell=2, type=0, action="LEECH", what=4, amount2=6, pattern="SPELLPOWERLEECHOTHERSELF", events = {"CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, SPELLSPLITDAMAGEOTHERSELF = { source=1, dest=YOU, amount=3, spell=2, type=0, action="LEECH", pattern="SPELLSPLITDAMAGEOTHERSELF", events = {"CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_DAMAGESHIELDS_ON_OTHERS"} }, SPELLINTERRUPTOTHERSELF = { source=1, dest=YOU, amount=0, spell=0, dspell=2, type=0, action="INTERRUPT", pattern="SPELLINTERRUPTOTHERSELF", events = {"CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, DISPELFAILEDOTHERSELF = { source=1, dest=YOU, amount=0, spell=0, dspell=2, type=0, action="DISPELFAILED", pattern="DISPELFAILEDOTHERSELF", events = {"CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE"} }, SIMPLECASTOTHERSELF = { source=1, dest=YOU, amount=0, spell=0, dspell=0, type=0, action="CAST", what=2, pattern="SIMPLECASTOTHERSELF", events = { } }, SIMPLEPERFORMOTHERSELF = { source=1, dest=YOU, amount=0, spell=0, dspell=0, type=0, action="PERFORM", what=2, pattern="SIMPLEPERFORMOTHERSELF", events = { } }, COMBATHITCRITOTHEROTHER = { source=1, dest=2, amount=3, spell=0, type=0, action="CRITHIT", pattern="COMBATHITCRITOTHEROTHER", noself=true, events = {"CHAT_MSG_COMBAT_PET_HITS", "CHAT_MSG_COMBAT_PARTY_HITS", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_HITS", "CHAT_MSG_COMBAT_HOSTILEPLAYER_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_PARTY_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_HITS"} }, COMBATHITCRITSCHOOLOTHEROTHER = { source=1, dest=2, amount=3, spell=0, type=4, action="CRITHIT", pattern="COMBATHITCRITSCHOOLOTHEROTHER", noself=true, events = {"CHAT_MSG_COMBAT_PET_HITS", "CHAT_MSG_COMBAT_PARTY_HITS", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_HITS", "CHAT_MSG_COMBAT_HOSTILEPLAYER_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_PARTY_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_HITS"} }, COMBATHITOTHEROTHER = { source=1, dest=2, amount=3, spell=0, type=0, action="HIT", pattern="COMBATHITOTHEROTHER", noself=true, events = {"CHAT_MSG_COMBAT_PET_HITS", "CHAT_MSG_COMBAT_PARTY_HITS", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_HITS", "CHAT_MSG_COMBAT_HOSTILEPLAYER_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_PARTY_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_HITS"} }, COMBATHITSCHOOLOTHEROTHER = { source=1, dest=2, amount=3, spell=0, type=4, action="HIT", pattern="COMBATHITSCHOOLOTHEROTHER", noself=true, events = {"CHAT_MSG_COMBAT_PET_HITS", "CHAT_MSG_COMBAT_PARTY_HITS", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_HITS", "CHAT_MSG_COMBAT_HOSTILEPLAYER_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_PARTY_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_HITS"} }, DAMAGESHIELDOTHEROTHER = { source=1, dest=4, amount=2, spell=0, type=0, action="DAMAGESHIELD", pattern="DAMAGESHIELDOTHEROTHER", events = {"CHAT_MSG_SPELL_DAMAGESHIELDS_ON_OTHERS"} }, HEALEDCRITOTHEROTHER = { source=1, dest=3, amount=4, spell=2, action="CRITHEAL", pattern="HEALEDCRITOTHEROTHER", events = {"CHAT_MSG_SPELL_PET_BUFF", "CHAT_MSG_SPELL_PARTY_BUFF", "CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF", "CHAT_MSG_SPELL_HOSTILEPLAYER_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_SELF_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF"} }, HEALEDOTHEROTHER = { source=1, dest=3, amount=4, spell=2, action="HEAL", pattern="HEALEDOTHEROTHER", newpattern="HEALEDCRITOTHEROTHER", events = {"CHAT_MSG_SPELL_PET_BUFF", "CHAT_MSG_SPELL_PARTY_BUFF", "CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF", "CHAT_MSG_SPELL_HOSTILEPLAYER_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_SELF_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF"} }, IMMUNEDAMAGECLASSOTHEROTHER = { source=2, dest=1, amount=0, spell=0, type=3, action="IMMUNE", pattern="IMMUNEDAMAGECLASSOTHEROTHER", events = {"CHAT_MSG_COMBAT_PET_MISSES", "CHAT_MSG_COMBAT_PARTY_MISSES", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_MISSES", "CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_PARTY_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_MISSES"} }, IMMUNEOTHEROTHER = { source=1, dest=2, amount=0, spell=0, type=0, action="IMMUNE", pattern="IMMUNEOTHEROTHER", events = {"CHAT_MSG_COMBAT_PET_MISSES", "CHAT_MSG_COMBAT_PARTY_MISSES", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_MISSES", "CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_PARTY_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_MISSES"} }, IMMUNESPELLOTHEROTHER = { source=2, dest=1, amount=0, spell=3, type=0, action="IMMUNE", pattern="IMMUNESPELLOTHEROTHER", events = {"CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, MISSEDOTHEROTHER = { source=1, dest=2, amount=0, spell=0, type=0, action="MISS", pattern="MISSEDOTHEROTHER", events = {"CHAT_MSG_COMBAT_PET_MISSES", "CHAT_MSG_COMBAT_PARTY_MISSES", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_MISSES", "CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_PARTY_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_MISSES"} }, PERIODICAURADAMAGEOTHEROTHER = { source=1, dest=3, amount=4, spell=2, type=5, action="DOT", pattern="PERIODICAURADAMAGEOTHEROTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE"} }, PERIODICAURAHEALOTHEROTHER = { source=3, dest=1, amount=2, spell=4, action="HEAL", pattern="PERIODICAURAHEALOTHEROTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_BUFFS", "CHAT_MSG_SPELL_PERIODIC_PARTY_BUFFS", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_BUFFS", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_BUFFS", "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS"} }, POWERGAINOTHEROTHER = { source=2, dest=1, amount=4, spell=3, action="GAIN", what=5, pattern="POWERGAINOTHEROTHER", events = {"CHAT_MSG_SPELL_SELF_BUFF", "CHAT_MSG_SPELL_PARTY_BUFF", "CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF", "CHAT_MSG_SPELL_HOSTILEPLAYER_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_SELF_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF", "CHAT_MSG_SPELL_PERIODIC_SELF_BUFFS", "CHAT_MSG_SPELL_PERIODIC_PARTY_BUFFS", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_BUFFS", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_BUFFS", "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS"} }, PROCRESISTOTHEROTHER = { source=2, dest=1, amount=0, spell=3, type=0, action="RESIST", pattern="PROCRESISTOTHEROTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE"} }, SPELLBLOCKEDOTHEROTHER = { source=1, dest=3, amount=0, spell=2, type=0, action="BLOCK", pattern="SPELLBLOCKEDOTHEROTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE", "CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, SPELLDEFLECTEDOTHEROTHER = { source=1, dest=3, amount=0, spell=2, type=0, action="DEFLECT", pattern="SPELLDEFLECTEDOTHEROTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE", "CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, SPELLDODGEDOTHEROTHER = { source=1, dest=3, amount=0, spell=2, type=0, action="DODGE", pattern="SPELLDODGEDOTHEROTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE", "CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, SPELLEVADEDOTHEROTHER = { source=1, dest=3, amount=0, spell=2, type=0, action="EVADE", pattern="SPELLEVADEDOTHEROTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE", "CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, SPELLLOGABSORBOTHEROTHER = { source=1, dest=3, amount=0, spell=2, type=0, action="ABSORBED", pattern="SPELLLOGABSORBOTHEROTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE", "CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, SPELLIMMUNEOTHEROTHER = { source=1, dest=3, amount=0, spell=2, type=0, action="IMMUNE", pattern="SPELLIMMUNEOTHEROTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE", "CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, SPELLLOGCRITOTHEROTHER = { source=1, dest=3, amount=4, spell=2, type=0, action="CRITSPELL", pattern="SPELLLOGCRITOTHEROTHER", events = {"CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, SPELLLOGCRITSCHOOLOTHEROTHER = { source=1, dest=3, amount=4, spell=2, type=5, action="CRITSPELL", pattern="SPELLLOGCRITSCHOOLOTHEROTHER", events = {"CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, SPELLLOGOTHEROTHER = { source=1, dest=3, amount=4, spell=2, type=0, action="SPELL", pattern="SPELLLOGOTHEROTHER", events = {"CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, SPELLDURABILITYDAMAGEOTHEROTHER = { source=1, dest=3, amount=4, spell=2, type=5, action="SPELL", pattern="SPELLDURABILITYDAMAGEOTHEROTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_BUFFS", "CHAT_MSG_SPELL_PERIODIC_PARTY_BUFFS", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_BUFFS", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_BUFFS", "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS"} }, SPELLLOGSCHOOLOTHEROTHER = { source=1, dest=3, amount=4, spell=2, type=5, action="SPELL", pattern="SPELLLOGSCHOOLOTHEROTHER", events = {"CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, SPELLMISSOTHEROTHER = { source=1, dest=3, amount=0, spell=2, type=0, action="MISS", pattern="SPELLMISSOTHEROTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE", "CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, SPELLPARRIEDOTHEROTHER = { source=1, dest=3, amount=0, spell=2, type=0, action="PARRY", pattern="SPELLPARRIEDOTHEROTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE", "CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, SPELLPOWERDRAINOTHEROTHER = { source=1, dest=3, amount=4, spell=2, type=0, action="DRAIN", what=5, pattern="SPELLPOWERDRAINOTHEROTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE", "CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, SPELLPOWERLEECHOTHEROTHER = { source=1, dest=3, amount=4, spell=2, type=0, action="LEECH", what=5, amount2=7, pattern="SPELLPOWERLEECHOTHEROTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE", "CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, SPELLREFLECTOTHEROTHER = { source=1, dest=3, amount=0, spell=2, type=0, action="REFLECT", pattern="SPELLREFLECTOTHEROTHER", events = {"CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE", "CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, SPELLRESISTOTHEROTHER = { source=1, dest=3, amount=0, spell=2, type=0, action="RESIST", pattern="SPELLRESISTOTHEROTHER", newpattern="SPELLRESISTOTHERSELF", events = {"CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, SPELLSPLITDAMAGEOTHEROTHER = { source=1, dest=3, amount=4, spell=2, type=0, action="DOT", pattern="SPELLSPLITDAMAGEOTHEROTHER", events = {"CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, VSABSORBOTHEROTHER = { source=1, dest=2, amount=0, spell=0, type=0, action="ABSORBED", pattern="VSABSORBOTHEROTHER", events = {"CHAT_MSG_COMBAT_PET_MISSES", "CHAT_MSG_COMBAT_PARTY_MISSES", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_MISSES", "CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_PARTY_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_MISSES"} }, VSBLOCKOTHEROTHER = { source=1, dest=2, amount=0, spell=0, type=0, action="BLOCK", pattern="VSBLOCKOTHEROTHER", events = {"CHAT_MSG_COMBAT_PET_MISSES", "CHAT_MSG_COMBAT_PARTY_MISSES", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_MISSES", "CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_PARTY_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_MISSES"} }, VSDEFLECTOTHEROTHER = { source=1, dest=2, amount=0, spell=0, type=0, action="DEFLECT", pattern="VSDEFLECTOTHEROTHER", events = {"CHAT_MSG_COMBAT_PET_MISSES", "CHAT_MSG_COMBAT_PARTY_MISSES", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_MISSES", "CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_PARTY_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_MISSES"} }, VSDODGEOTHEROTHER = { source=1, dest=2, amount=0, spell=0, type=0, action="DODGE", pattern="VSDODGEOTHEROTHER", events = {"CHAT_MSG_COMBAT_PET_MISSES", "CHAT_MSG_COMBAT_PARTY_MISSES", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_MISSES", "CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_PARTY_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_MISSES"} }, VSEVADEOTHEROTHER = { source=1, dest=2, amount=0, spell=0, type=0, action="EVADE", pattern="VSEVADEOTHEROTHER", events = {"CHAT_MSG_COMBAT_PET_MISSES", "CHAT_MSG_COMBAT_PARTY_MISSES", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_MISSES", "CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_PARTY_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_MISSES"} }, VSIMMUNEOTHEROTHER = { source=1, dest=2, amount=0, spell=0, type=0, action="IMMUNE", pattern="VSIMMUNEOTHEROTHER", events = {"CHAT_MSG_COMBAT_PET_MISSES", "CHAT_MSG_COMBAT_PARTY_MISSES", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_MISSES", "CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_PARTY_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_MISSES"} }, VSPARRYOTHEROTHER = { source=1, dest=2, amount=0, spell=0, type=0, action="PARRY", pattern="VSPARRYOTHEROTHER", events = {"CHAT_MSG_COMBAT_PET_MISSES", "CHAT_MSG_COMBAT_PARTY_MISSES", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_MISSES", "CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_PARTY_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_MISSES"} }, VSRESISTOTHEROTHER = { source=1, dest=2, amount=0, spell=0, type=0, action="RESIST", pattern="VSRESISTOTHEROTHER", events = {"CHAT_MSG_COMBAT_PET_MISSES", "CHAT_MSG_COMBAT_PARTY_MISSES", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_MISSES", "CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_PARTY_MISSES", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_MISSES"} }, SPELLINTERRUPTOTHEROTHER = { source=1, dest=2, amount=0, spell=0, dspell=3, type=0, action="INTERRUPT", pattern="SPELLINTERRUPTOTHEROTHER", events = {"CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, SPELLEXTRAATTACKSOTHER = { source=1, dest=0, amount=3, spell=2, dspell=0, type=0, action="GAIN", what="ATTACKS", pattern="SPELLEXTRAATTACKSOTHER", events = {"CHAT_MSG_SPELL_PET_BUFF", "CHAT_MSG_SPELL_PARTY_BUFF", "CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF", "CHAT_MSG_SPELL_HOSTILEPLAYER_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF", "CHAT_MSG_COMBAT_PET_HITS", "CHAT_MSG_COMBAT_PARTY_HITS", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_HITS", "CHAT_MSG_COMBAT_HOSTILEPLAYER_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_HITS"} }, SPELLEXTRAATTACKSOTHER_SINGULAR = { source=1, dest=0, amount=3, spell=2, dspell=0, type=0, action="GAIN", what="ATTACKS", pattern="SPELLEXTRAATTACKSOTHER_SINGULAR", events = {"CHAT_MSG_SPELL_PET_BUFF", "CHAT_MSG_SPELL_PARTY_BUFF", "CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF", "CHAT_MSG_SPELL_HOSTILEPLAYER_BUFF", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF", "CHAT_MSG_COMBAT_PET_HITS", "CHAT_MSG_COMBAT_PARTY_HITS", "CHAT_MSG_COMBAT_FRIENDLYPLAYER_HITS", "CHAT_MSG_COMBAT_HOSTILEPLAYER_HITS", "CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_HITS"} }, DISPELFAILEDOTHEROTHER = { source=1, dest=2, amount=0, spell=3, dspell=0, type=0, action="DISPELFAILED", what=0, pattern="DISPELFAILEDOTHEROTHER", events = {"CHAT_MSG_SPELL_PET_DAMAGE", "CHAT_MSG_SPELL_PARTY_DAMAGE", "CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE", "CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, SIMPLECASTOTHEROTHER = { source=1, dest=2, amount=0, spell=3, dspell=0, type=0, action="CAST", what=3, pattern="SIMPLECASTOTHEROTHER", events = { } }, ITEMENCHANTMENTADDOTHEROTHER = { source=1, dest=2, amount=0, spell=3, dspell=0, type=0, action="ENCHANT", what=3, pattern="ITEMENCHANTMENTADDOTHEROTHER", events = { "CHAT_MSG_SPELL_ITEM_ENCHANTMENTS"} }, SIMPLEPERFORMOTHEROTHER = { source=1, dest=2, amount=0, spell=0, dspell=0, type=0, action="PERFORM", what=3, pattern="SIMPLEPERFORMOTHEROTHER", events = { "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"} }, } BCombatLogClass = {} local function BLCombat000111000101111100110001000111111(BLCombat10001101010001101001011100010001, BLCombat0111000100101100111111101011010111101) if (type(BLCombat0111000100101100111111101011010111101) == "string") then return BLCombat0111000100101100111111101011010111101 end if (not BLCombat0111000100101100111111101011010111101) then return nil end return BLCombat10001101010001101001011100010001[BLCombat0111000100101100111111101011010111101] end local function BLCombat10110011101110000001000() if (BLCombat1110001010100101001001100111111[event]) then local BLCombat10011000001111111110001100, BLCombat11111111110000111011110101 for BLCombat10011000001111111110001100, BLCombat11111111110000111011110101 in pairs(BLCombat1110001010100101001001100111111[event]) do if (BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100]) then local BLCombat10001101010001101001011100010001 = {} local BLCombat1101111100001011000100110110010, BLCombat000100010001011010110110101 local __index, BLCombat000011011110000100111110111111111 local BLCombat1001000010111111010110000101000000111 = {} if (BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].newpattern) then BLCombat1101111100001011000100110110010, BLCombat000100010001011010110110101, BLCombat10001101010001101001011100010001[1], BLCombat10001101010001101001011100010001[2], BLCombat10001101010001101001011100010001[3], BLCombat10001101010001101001011100010001[4], BLCombat10001101010001101001011100010001[5], BLCombat10001101010001101001011100010001[6], BLCombat10001101010001101001011100010001[7], BLCombat10001101010001101001011100010001[8], BLCombat10001101010001101001011100010001[9] = string.find(arg1, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].newpattern) if (BLCombat1101111100001011000100110110010 and BLCombat000100010001011010110110101 and BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100] and BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][event]) then if (BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].noself and (BLCombat10001101010001101001011100010001[BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].source] == YOU or BLCombat10001101010001101001011100010001[BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].dest] == YOU)) then else for __index, BLCombat000011011110000100111110111111111 in ipairs(BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][event]) do BLCombat000011011110000100111110111111111.BLCombat01000100000111001111011000010(BLCombat10011000001111111110001100, arg1, event, BLCombat000111000101111100110001000111111(BLCombat10001101010001101001011100010001, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].source), BLCombat000111000101111100110001000111111(BLCombat10001101010001101001011100010001, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].spell), BLCombat000111000101111100110001000111111(BLCombat10001101010001101001011100010001, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].dest), BLCombat000111000101111100110001000111111(BLCombat10001101010001101001011100010001, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].dspell), BLCombat000111000101111100110001000111111(BLCombat10001101010001101001011100010001, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].amount), BLCombat000111000101111100110001000111111(BLCombat10001101010001101001011100010001, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].type), BLCombat000111000101111100110001000111111(BLCombat10001101010001101001011100010001, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].action), BLCombat000111000101111100110001000111111(BLCombat10001101010001101001011100010001, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].what), BLCombat000111000101111100110001000111111(BLCombat10001101010001101001011100010001, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].amount2), BLCombat000011011110000100111110111111111.BLCombat00001110111101101101111) end return end else BLCombat1001000010111111010110000101000000111[BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].newpattern] = true end end if (not BLCombat1001000010111111010110000101000000111[BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].pattern]) then BLCombat1101111100001011000100110110010, BLCombat000100010001011010110110101, BLCombat10001101010001101001011100010001[1], BLCombat10001101010001101001011100010001[2], BLCombat10001101010001101001011100010001[3], BLCombat10001101010001101001011100010001[4], BLCombat10001101010001101001011100010001[5], BLCombat10001101010001101001011100010001[6], BLCombat10001101010001101001011100010001[7], BLCombat10001101010001101001011100010001[8], BLCombat10001101010001101001011100010001[9] = string.find(arg1, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].pattern) if (BLCombat1101111100001011000100110110010 and BLCombat000100010001011010110110101 and BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100] and BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][event]) then if (BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].noself and (BLCombat10001101010001101001011100010001[BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].source] == YOU or BLCombat10001101010001101001011100010001[BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].dest] == YOU)) then else for __index, BLCombat000011011110000100111110111111111 in ipairs(BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][event]) do BLCombat000011011110000100111110111111111.BLCombat01000100000111001111011000010(BLCombat10011000001111111110001100, arg1, event, BLCombat000111000101111100110001000111111(BLCombat10001101010001101001011100010001, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].source), BLCombat000111000101111100110001000111111(BLCombat10001101010001101001011100010001, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].spell), BLCombat000111000101111100110001000111111(BLCombat10001101010001101001011100010001, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].dest), BLCombat000111000101111100110001000111111(BLCombat10001101010001101001011100010001, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].dspell), BLCombat000111000101111100110001000111111(BLCombat10001101010001101001011100010001, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].amount), BLCombat000111000101111100110001000111111(BLCombat10001101010001101001011100010001, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].type), BLCombat000111000101111100110001000111111(BLCombat10001101010001101001011100010001, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].action), BLCombat000111000101111100110001000111111(BLCombat10001101010001101001011100010001, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].what), BLCombat000111000101111100110001000111111(BLCombat10001101010001101001011100010001, BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100].amount2), BLCombat000011011110000100111110111111111.BLCombat00001110111101101101111) end return end end end end end end end BLCombat10111110011000111010110010100100100 = nil local function BLCombat01000100101000100111110101001100100010(BLCombat001001010100001111100000) local BLCombat00110111111010111110000, BLCombat001000110001100000110110000110 local BLCombat01100001111001001011110001101010 = true for BLCombat00110111111010111110000, BLCombat001000110001100000110110000110 in pairs(BLCombat001001010100001111100000) do BLCombat01100001111001001011110001101010 = false end return BLCombat01100001111001001011110001101010 end local function BLCombat01100100011100010001110(BLCombat1010000001000110111101010111110, BLCombat10011000001111111110001100) if (not BLCombat1110001010100101001001100111111[BLCombat1010000001000110111101010111110]) then return end BLCombat1110001010100101001001100111111[BLCombat1010000001000110111101010111110][BLCombat10011000001111111110001100] = nil if (BLCombat01000100101000100111110101001100100010(BLCombat1110001010100101001001100111111[BLCombat1010000001000110111101010111110])) then BLCombat10111110011000111010110010100100100:UnregisterEvent(BLCombat1010000001000110111101010111110) BLCombat1110001010100101001001100111111[BLCombat1010000001000110111101010111110] = nil end end local function BLCombat0011110010011010110001101(BLCombat1010000001000110111101010111110, BLCombat10011000001111111110001100) if (not BLCombat1110001010100101001001100111111[BLCombat1010000001000110111101010111110]) then BLCombat1110001010100101001001100111111[BLCombat1010000001000110111101010111110] = {} BLCombat10111110011000111010110010100100100:RegisterEvent(BLCombat1010000001000110111101010111110) end BLCombat1110001010100101001001100111111[BLCombat1010000001000110111101010111110][BLCombat10011000001111111110001100] = true end local function BLCombat01111010001111011111000(BLCombat10011000001111111110001100, BLCombat1010000001000110111101010111110) assert(BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100], "Unknown Message.") if (not BLCombat1010000001000110111101010111110) then local BLCombat00110111111010111110000, BLCombat000100010001011010110110101 for BLCombat00110111111010111110000, BLCombat000100010001011010110110101 in pairs(BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100]["events"]) do BLCombat0011110010011010110001101(BLCombat000100010001011010110110101, BLCombat10011000001111111110001100) end else BLCombat0011110010011010110001101(BLCombat1010000001000110111101010111110, BLCombat10011000001111111110001100) end end local function BLCombat0111110001000100100111100100110101110(BLCombat10011000001111111110001100, BLCombat1010000001000110111101010111110, BLCombat01000100000111001111011000010, BLCombat00001110111101101101111) local BLCombat000011011110000100111110111111111 = {} BLCombat000011011110000100111110111111111.BLCombat01000100000111001111011000010 = BLCombat01000100000111001111011000010 BLCombat000011011110000100111110111111111.BLCombat00001110111101101101111 = BLCombat00001110111101101101111 if (not BLCombat1010000001000110111101010111110) then local BLCombat00110111111010111110000, BLCombat000100010001011010110110101 for BLCombat00110111111010111110000, BLCombat000100010001011010110110101 in pairs(BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100]["events"]) do if (not BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100]) then BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100] = {} end if (not BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][BLCombat000100010001011010110110101]) then BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][BLCombat000100010001011010110110101] = { n = 0 } end local __index, BLCombat11111111110000111011110101 for __index, BLCombat11111111110000111011110101 in ipairs(BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][BLCombat000100010001011010110110101]) do if (BLCombat11111111110000111011110101.BLCombat01000100000111001111011000010 == BLCombat01000100000111001111011000010) then return end end table.insert(BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][BLCombat000100010001011010110110101], BLCombat000011011110000100111110111111111) end else if (not BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100]) then BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100] = {} end if (not BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][BLCombat1010000001000110111101010111110]) then BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][BLCombat1010000001000110111101010111110] = { n = 0 } end local __index, BLCombat11111111110000111011110101 for __index, BLCombat11111111110000111011110101 in ipairs(BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][BLCombat1010000001000110111101010111110]) do if (BLCombat11111111110000111011110101.BLCombat01000100000111001111011000010 == BLCombat01000100000111001111011000010) then return end end table.insert(BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][BLCombat1010000001000110111101010111110], BLCombat000011011110000100111110111111111) end end local function BLCombat01101101101011101001010001111100(BLCombat10011000001111111110001100, BLCombat1010000001000110111101010111110) assert(BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100], "Unknown Message.") if (not BLCombat1010000001000110111101010111110) then local BLCombat00110111111010111110000, BLCombat000100010001011010110110101 for BLCombat00110111111010111110000, BLCombat000100010001011010110110101 in pairs(BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100]["events"]) do BLCombat01100100011100010001110(BLCombat000100010001011010110110101, BLCombat10011000001111111110001100) end else BLCombat01100100011100010001110(BLCombat1010000001000110111101010111110, BLCombat10011000001111111110001100) end end local function BLCombat100100110011110001011001110001000101(BLCombat10011000001111111110001100, BLCombat1010000001000110111101010111110, BLCombat01000100000111001111011000010) if (not BLCombat1010000001000110111101010111110) then local BLCombat00110111111010111110000, BLCombat000100010001011010110110101 for BLCombat00110111111010111110000, BLCombat000100010001011010110110101 in pairs(BLCombat1100001110000100101111010011110110010[BLCombat10011000001111111110001100]["events"]) do if (not BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100]) then return end if (not BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][BLCombat000100010001011010110110101]) then return end local __index, BLCombat000011011110000100111110111111111 for __index, BLCombat000011011110000100111110111111111 in ipairs(BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][BLCombat000100010001011010110110101]) do if (BLCombat000011011110000100111110111111111.BLCombat01000100000111001111011000010 == BLCombat01000100000111001111011000010) then table.remove(BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][BLCombat000100010001011010110110101], __index) end end if (table.getn(BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][BLCombat000100010001011010110110101])) then BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][BLCombat000100010001011010110110101] = nil end if (BLCombat01000100101000100111110101001100100010(BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100])) then BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100] = nil end end else if (not BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100]) then BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100] = {} end if (not BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][BLCombat1010000001000110111101010111110]) then BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][BLCombat1010000001000110111101010111110] = { n = 0 } end local __index, BLCombat000011011110000100111110111111111 for __index, BLCombat000011011110000100111110111111111 in ipairs(BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][BLCombat1010000001000110111101010111110]) do if (BLCombat000011011110000100111110111111111.BLCombat01000100000111001111011000010 == BLCombat01000100000111001111011000010) then table.remove(BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][BLCombat1010000001000110111101010111110], __index) end end if (table.getn(BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][BLCombat1010000001000110111101010111110])) then BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100][BLCombat1010000001000110111101010111110] = nil end if (BLCombat01000100101000100111110101001100100010(BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100])) then BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100] = nil end end end function BCombatLogClass:constructor() BLCombat111000011011100101101001101() end function BCombatLogClass:Register(BLCombat10011000001111111110001100, BLCombat1010000001000110111101010111110, BLCombat01000100000111001111011000010, BLCombat00001110111101101101111) assert(type(BLCombat01000100000111001111011000010) == "function", "The parameter <handler> must be function.") if (not BLCombat10111110011000111010110010100100100) then BLCombat10111110011000111010110010100100100 = CreateFrame("Frame") BLCombat10111110011000111010110010100100100:SetScript("OnEvent", BLCombat10110011101110000001000) end if (not BLCombat10011000001111111110001100) then local BLCombat11111111110000111011110101 for BLCombat10011000001111111110001100, BLCombat11111111110000111011110101 in pairs(BLCombat1100001110000100101111010011110110010) do BLCombat01111010001111011111000(BLCombat10011000001111111110001100, BLCombat1010000001000110111101010111110) BLCombat0111110001000100100111100100110101110(BLCombat10011000001111111110001100, BLCombat1010000001000110111101010111110, BLCombat01000100000111001111011000010, BLCombat00001110111101101101111) end else BLCombat01111010001111011111000(BLCombat10011000001111111110001100, BLCombat1010000001000110111101010111110) BLCombat0111110001000100100111100100110101110(BLCombat10011000001111111110001100, BLCombat1010000001000110111101010111110, BLCombat01000100000111001111011000010, BLCombat00001110111101101101111) end end function BCombatLogClass:Unregister(BLCombat10011000001111111110001100, BLCombat1010000001000110111101010111110, BLCombat01000100000111001111011000010) assert(type(BLCombat01000100000111001111011000010) == "function", "The parameter <handler> must be function.") if (not BLCombat10011000001111111110001100) then local BLCombat11111111110000111011110101 for BLCombat10011000001111111110001100, BLCombat11111111110000111011110101 in pairs(BLCombat1100001110000100101111010011110110010) do BLCombat01101101101011101001010001111100(BLCombat10011000001111111110001100, BLCombat1010000001000110111101010111110) if (BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100]) then local __index, BLCombat000011011110000100111110111111111 for __index, BLCombat000011011110000100111110111111111 in pairs(BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100]) do if (BLCombat000011011110000100111110111111111.BLCombat01000100000111001111011000010 == BLCombat01000100000111001111011000010) then table.remove(BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100], __index) return end end end end else BLCombat01101101101011101001010001111100(BLCombat10011000001111111110001100, BLCombat1010000001000110111101010111110) if (BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100]) then local __index, BLCombat000011011110000100111110111111111 for __index, BLCombat000011011110000100111110111111111 in pairs(BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100]) do if (BLCombat000011011110000100111110111111111.BLCombat01000100000111001111011000010 == BLCombat01000100000111001111011000010) then table.remove(BLCombat00111001110001111101111101101000[BLCombat10011000001111111110001100], __index) return end end end end end BLibrary:Register(BCombatLogClass, "BCombatLogClass", BLCombat0100001001111100011001011, BLCombat101111000000110111111011101110) BCombatLog = BLibrary:CreateInstance("BCombatLogClass") 
